import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class TextDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    /**
     * Scaffold写在最外层时候 自带返回按钮
     * Column({
     *   Key key,
     *  MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,//子Widget在纵轴上的排列，全部子Widget从顶部开始展示
     *  MainAxisAlignment.end//子Widget在纵轴上的排列，全部子Widget挨着底部展示
     *  MainAxisAlignment.center//子Widget在纵轴上的排列，全部子widget在中间展示
     *   MainAxisAlignment.spaceBetween//子Widget在纵轴上的排列，两两子widget之间间距相等，最上最下子widget挨着边展示
     *   MainAxisAlignment.spaceAround//子Widget在纵轴上的排列，两两子widget之间间距相等，最上最下子widget离边的距离为两两子widget之间距离的一半
     *  MainAxisAlignment.spaceAround//子Widget在纵轴上的排列，两两子widget之间间距相等，最上最下子widget离边的距离为两两子widget之间距离相等
     *   MainAxisSize mainAxisSize = MainAxisSize.max,//设置Column占据的空间为最大
     *   CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.start,//设置全部子widget左边对齐
     *   CrossAxisAlignment.end//设置全部子widget右边对齐
     *   CrossAxisAlignment.stretch//设置全部子widget占据整个横轴（X）方向，拉伸对齐Column左右两边
     *   CrossAxisAlignment.baseline,//相当于CrossAxisAlignment.start,但是需要配合textBaseline，不然会报错
     *   TextDirection textDirection,//设置子widget的左右显示方位，只有在crossAxisAlignment为start、end的时候起作用；
     *    VerticalDirection verticalDirection = VerticalDirection.down,//设置子Widget在纵轴（Y）的起始位置，down表示，第一个widget从开始位置展示，后面的跟着依次展示；相当于正序
     *   VerticalDirection.up//表示第一个widget从末尾位置开始展示，后面的跟着依次展示，相当于倒序
     *   TextBaseline textBaseline,//配合CrossAxisAlignment.baseline一起使用
     *   List<Widget> children = const <Widget>[],//装在一组子widgets
     *   })
     */
    return Scaffold(
      appBar: AppBar(
        title: Text('文本控件'),
        //深色字体
        brightness: Brightness.dark,
        centerTitle: true,
      ),
      body: Column(
        //设置子widget的左右显示方位，只有在crossAxisAlignment为start、end的时候起作用；
        textDirection: TextDirection.ltr,
        //设置Column占据的空间为最大
        mainAxisSize: MainAxisSize.max,
        //设置全部子widget居中对齐
        crossAxisAlignment: CrossAxisAlignment.start,
        //设置子Widget在纵轴（Y）的起始位置，down表示，第一个widget从开始位置展示，后面的跟着依次展示；相当于正序
        verticalDirection: VerticalDirection.down,
        children: const <Widget>[
          Text(
            '红色+黑色删除线+25号',
            style: TextStyle(
                color: Colors.red,
                fontSize: 25.0,
                decoration: TextDecoration.lineThrough, //删除线
                decorationColor: Colors.red),
          ),
          Text(
            '橙色+下划线+24号',
            style: TextStyle(
              color: Color(0xffff9900),
              fontSize: 24.0,
              decoration: TextDecoration.underline, //下划线
              decorationColor: Colors.orange, //下划线颜色
            ),
          ),
          Text(
            '虚线上划线+23号+倾斜+加粗',
            style: TextStyle(
                color: Colors.blue,
                fontSize: 23.0,
                //上划线
                decoration: TextDecoration.overline,
                //虚线
                decorationStyle: TextDecorationStyle.dashed,
                //斜体
                fontStyle: FontStyle.italic,
                //加粗
                fontWeight: FontWeight.bold,
                decorationColor: Colors.blue),
          ),
          Text(
            '24号+倾斜加粗+字间距',
            style: TextStyle(
              color: Colors.yellow,
              fontSize: 24.0,
              //斜体
              fontStyle: FontStyle.italic,
              //加粗
              fontWeight: FontWeight.bold,
              //字间距
              letterSpacing: 6.0,
            ),
          ),
          Text(
            '24号+倾斜加粗+字间距+自定义字体',
            style: TextStyle(
                color: Colors.pink,
                fontSize: 24.0,
                //倾斜
                fontStyle: FontStyle.italic,
                //加粗
                fontWeight: FontWeight.bold,
                //字间距
                letterSpacing: 6.0,
                //字体
                fontFamily: 'kang'),
          ),
          Text(
            '文本居中对齐，+从左到右+多行显示',
            style: TextStyle(
              color: Colors.black,
              fontSize: 25.0,
            ),
            //文本对齐方式：居中对齐
            textAlign: TextAlign.center,
            //从左往右展示
            textDirection: TextDirection.ltr,
            //最多显示行数
            maxLines: 3,
          ),
          Text(
            '24号+字间距6+单行展示单行展示单行展示单行展示单行展示单行展示单行展示',
            style: TextStyle(
              color: Color(0xffBAC900),
              fontSize: 24.0,
            ),
            //单行显示
            maxLines: 1,
            //超出屏幕部分显示省略号
            overflow: TextOverflow.ellipsis,
          )

        ],
      ),
    );
  }
}
